iT邦幫忙

2023 iThome 鐵人賽

DAY 5
0

main.py,都可直接使用同份Dockerfile,但要注意Dockerfile不能有副檔名,位置需與main.py同層,還需要有requirements.txt(可以透過$ pip freeze > requirements.txt生成)

Docker:構建與推送

步驟 1:準備環境

在開始構建和推送 Docker 鏡像之前,確保您的開發環境中已經安裝了 Docker。您可以根據之前的文章或 Docker 官方網站上的說明進行安裝。此外,確保您擁有 Docker Hub 的帳戶,以便將鏡像推送到其中。

步驟 2:編寫 Dockerfile

Dockerfile 是構建 Docker 鏡像的藍圖。它包含了一系列指令,用於定義所需的環境和配置。您可以在 Dockerfile 中指定基礎鏡像、安裝軟體、複製檔等。本文以一個示例 Python 應用程式為例,演示如何編寫簡單的 Dockerfile。

FROM python:3.9-slim

# 指定 Image 中的工作目錄
WORKDIR /code

# 將 Dockerfile 所在目錄下的所有檔案複製到 Image 的工作目錄 /code 底下
ADD . /code

# 在 Image 中執行的指令:安裝 requirements.txt 中所指定的 dependencies
RUN pip install -r requirements.txt

# Container 啟動指令:Container 啟動後通過 python 運行 test_api.py
CMD ["python", "./main.py"]

步驟 3:構建鏡像

在終端中導航到包含 Dockerfile 的目錄,並執行以下命令構建鏡像:

$ docker build -t my-python-app .

此命令將根據 Dockerfile 構建一個名為 的鏡像。my-python-app

步驟 4:標記鏡像

要將鏡像推送到 Docker Hub,首先需要為其添加標籤,以指明鏡像的名稱和版本。

$ docker tag my-python-app:latest your-dockerhub-username/my-python-app:version

步驟 5:登錄 Docker Hub

在將鏡像推送到 Docker Hub 之前,您需要登錄到您的 Docker Hub 帳戶。

$ docker login

步驟 6:推送鏡像

登錄成功后,使用以下命令推送鏡像到 Docker Hub:

$ docker push your-dockerhub-username/my-python-app:version

結論

通過本文,您已經學會了使用 Docker 構建自定義容器鏡像並將其推送到 Docker Hub 的基本步驟。這為您提供了在開發和部署過程中更加靈活、高效的選項。通過掌握 Docker 和 Docker Hub 的使用,您可以輕鬆地分享和部署您的應用程式,同時享受容器化技術所帶來的種種好處。無論您是開發新手還是資深開發者,Docker 都將成為您提升開發流程效率的得力工具。


上一篇
[Day4]Docker安裝與配置
下一篇
[Day6]運行容器&nginx反向代理
系列文
在open source環境,建置container環境及k8s(Minikube)的API佈署環境30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言